﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using ChatApp.Service.Model;
//using ChatApp.Service.Model;

namespace ChatApp.Service.Business
{
    public class UserBLL
    {
        public User LoginUser(string userName, string password)
        {
            User user = null;
            using (DBChatEntities entities = new DBChatEntities())
            {
                // Kiểm tra user name có tồn tại hay không
                user = entities.Users.Where(u => u.UserName == userName && u.PassWord == password).FirstOrDefault();
            }
            return user;
        }

        /// <summary>
        /// Taọ người dùng
        /// </summary>
        /// <param name="user"></param>
        public void CreateUser(User user)
        {
            using (DBChatEntities entities = new DBChatEntities())
            {
                user.NgayTao = DateTime.UtcNow;
                user.TrangThai = 0;
                user.KichHoat = false;
                entities.Users.AddObject(user);
                entities.SaveChanges();
            }
        }

        /// <summary>
        /// Kiểm tra người dùng có tồn tại chưa
        /// </summary>
        /// <param name="userName"></param>
        /// <returns></returns>
        public bool IsDuplicateUser(string userName)
        {
            bool isSuccess;
            using (DBChatEntities entities = new DBChatEntities())
            {
                // Kiểm tra user name có tồn tại hay không
                isSuccess = entities.Users.Where(u => u.UserName == userName).Count() > 0;
            }
            return isSuccess;
        }

        public User RetrieveUserByUserName(string userName)
        {
            User user = null;
            using (DBChatEntities entities = new DBChatEntities())
            {
                // Kiểm tra user name có tồn tại hay không
                user = entities.Users.Where(u => u.UserName == userName).FirstOrDefault();
            }
            return user;
        }
    }
}